using System;
using EPiServer.Community.Moblog;

namespace EPiAbstractions.Community.Moblog
{
    public interface IMoblogHandlerFacade
    {
        IMessageDestinationFilter MatchFilter(IMessage message);

        DestinationFilterCollection GetDestinationFilters(Type filterType);

        IMessageDestinationFilter GetDestinationFilter(Int32 id);

        IMessageDestinationFilter AddDestinationFilter(IMessageDestinationFilter filter);

        void UpdateDestinationFilter(IMessageDestinationFilter filter);

        void RemoveDestinationFilter(IMessageDestinationFilter filter);

        void Send(IMessage message);

        IMessage GetMessage(Int32 id);

        void RemoveMessage(IMessage message);
    }
}